package com.geostar.mina.utils;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class DateUtils {
	
	private static Logger logger = LoggerFactory.getLogger(DateUtils.class);
	
	private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	
	/**
	 * 目的: 获得当前时间，包含小时，分，秒
	 * @return
	 */
	public static String getLongTime(){
		return sdf.format(new Date());
	}
	
	/**
	 * 目的:返回当前时间之前times小时的时间
	 * @param times 需要推前的小时
	 * @return
	 */
	public static String getBeforeTime(int times){
		return getBeforeTime(times,null);
	}
	
	/**
	 * 目的: 返回输入时间之前times小时的时间
	 * @param times 需要推前的小时
	 * @param dateTime 输入的时间
	 * @return
	 */
	public static String getBeforeTime(int times,String dateTime){
		if(dateTime == null){
			dateTime = getLongTime();
		}
		Calendar calendar = Calendar.getInstance();
		try {
			calendar.setTime(sdf.parse(dateTime));
			calendar.add(Calendar.HOUR_OF_DAY, -2);
		} catch (ParseException e) {
			e.printStackTrace();
			logger.error("日期字符串转date错误");
		}
		
		return sdf.format(calendar.getTime());
	}
	
	public static void main(String[] args) {
		System.out.println(getLongTime());
	}
}
